home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / utils / xad / developer / include / c / inline / xadmaster.h
C/C++ Source or Header  |  1999-01-01  |  3KB  |  100 lines

  1. #ifndef _INLINE_XADMASTER_H
  2. #define _INLINE_XADMASTER_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef XADMASTER_BASE_NAME
  9. #define XADMASTER_BASE_NAME xadMasterBase
  10. #endif
  11.  
  12. #define xadAllocObjectA(type, tags) \
  13.     LP2(0x1E, APTR, xadAllocObjectA, LONG, type, d0, struct TagItem *, tags, a0, \
  14.     , XADMASTER_BASE_NAME)
  15.  
  16. #ifndef NO_INLINE_STDARG
  17. #define xadAllocObject(type, tags...) \
  18.     ({ULONG _tags[] = {tags}; xadAllocObjectA((type), (struct TagItem *) _tags);})
  19. #endif
  20.  
  21. #define xadFreeObjectA(object, tags) \
  22.     LP2NR(0x24, xadFreeObjectA, APTR, object, a0, struct TagItem *, tags, a1, \
  23.     , XADMASTER_BASE_NAME)
  24.  
  25. #ifndef NO_INLINE_STDARG
  26. #define xadFreeObject(object, tags...) \
  27.     ({ULONG _tags[] = {tags}; xadFreeObjectA((object), (struct TagItem *) _tags);})
  28. #endif
  29.  
  30. #define xadRecogFileA(size, memory, tags) \
  31.     LP3(0x2A, struct xadClient *, xadRecogFileA, ULONG, size, d0, APTR, memory, a0, struct TagItem *, tags, a1, \
  32.     , XADMASTER_BASE_NAME)
  33.  
  34. #ifndef NO_INLINE_STDARG
  35. #define xadRecogFile(size, memory, tags...) \
  36.     ({ULONG _tags[] = {tags}; xadRecogFileA((size), (memory), (struct TagItem *) _tags);})
  37. #endif
  38.  
  39. #define xadGetInfoA(ai, tags) \
  40.     LP2(0x30, LONG, xadGetInfoA, struct xadArchiveInfo *, ai, a0, struct TagItem *, tags, a1, \
  41.     , XADMASTER_BASE_NAME)
  42.  
  43. #ifndef NO_INLINE_STDARG
  44. #define xadGetInfo(ai, tags...) \
  45.     ({ULONG _tags[] = {tags}; xadGetInfoA((ai), (struct TagItem *) _tags);})
  46. #endif
  47.  
  48. #define xadFreeInfo(ai) \
  49.     LP1NR(0x36, xadFreeInfo, struct xadArchiveInfo *, ai, a0, \
  50.     , XADMASTER_BASE_NAME)
  51.  
  52. #define xadFileUnArcA(ai, tags) \
  53.     LP2(0x3C, LONG, xadFileUnArcA, struct xadArchiveInfo *, ai, a0, struct TagItem *, tags, a1, \
  54.     , XADMASTER_BASE_NAME)
  55.  
  56. #ifndef NO_INLINE_STDARG
  57. #define xadFileUnArc(ai, tags...) \
  58.     ({ULONG _tags[] = {tags}; xadFileUnArcA((ai), (struct TagItem *) _tags);})
  59. #endif
  60.  
  61. #define xadDiskUnArcA(ai, tags) \
  62.     LP2(0x42, LONG, xadDiskUnArcA, struct xadArchiveInfo *, ai, a0, struct TagItem *, tags, a1, \
  63.     , XADMASTER_BASE_NAME)
  64.  
  65. #ifndef NO_INLINE_STDARG
  66. #define xadDiskUnArc(ai, tags...) \
  67.     ({ULONG _tags[] = {tags}; xadDiskUnArcA((ai), (struct TagItem *) _tags);})
  68. #endif
  69.  
  70. #define xadGetErrorText(errnum) \
  71.     LP1(0x48, STRPTR, xadGetErrorText, ULONG, errnum, d0, \
  72.     , XADMASTER_BASE_NAME)
  73.  
  74. #define xadGetClientInfo() \
  75.     LP0(0x4E, struct xadClient *, xadGetClientInfo, \
  76.     , XADMASTER_BASE_NAME)
  77.  
  78. #define xadHookAccess(command, data, buffer, ai) \
  79.     LP4(0x54, LONG, xadHookAccess, ULONG, command, d0, LONG, data, d1, APTR, buffer, a0, struct xadArchiveInfo *, ai, a1, \
  80.     , XADMASTER_BASE_NAME)
  81.  
  82. #define xadConvertDatesA(tags) \
  83.     LP1(0x5A, LONG, xadConvertDatesA, struct TagItem *, tags, a0, \
  84.     , XADMASTER_BASE_NAME)
  85.  
  86. #ifndef NO_INLINE_STDARG
  87. #define xadConvertDates(tags...) \
  88.     ({ULONG _tags[] = {tags}; xadConvertDatesA((struct TagItem *) _tags);})
  89. #endif
  90.  
  91. #define xadCalcCRC16(id, init, size, buffer) \
  92.     LP4(0x60, UWORD, xadCalcCRC16, UWORD, id, d0, UWORD, init, d1, ULONG, size, d2, STRPTR, buffer, a0, \
  93.     , XADMASTER_BASE_NAME)
  94.  
  95. #define xadCalcCRC32(id, init, size, buffer) \
  96.     LP4(0x66, ULONG, xadCalcCRC32, ULONG, id, d0, ULONG, init, d1, ULONG, size, d2, STRPTR, buffer, a0, \
  97.     , XADMASTER_BASE_NAME)
  98.  
  99. #endif /*  _INLINE_XADMASTER_H  */
  100.